Click Here!
home account info subscribe login search My ITKnowledge FAQ/help site map contact us


 
Brief Full
 Advanced
      Search
 Search Tips
To access the contents, click the chapter and section titles.

Oracle Performance Tuning and Optimization
(Publisher: Macmillan Computer Publishing)
Author(s): Edward Whalen
ISBN: 067230886x
Publication Date: 04/01/96

Bookmark It

Search this book:
 
Previous Table of Contents Next


User Capacity

You can easily determine the amount of memory necessary for your application on a per-user basis. Start up Oracle and note the amount of memory available by using the Windows NT performance monitor. Monitor the Available Bytes option under Memory in the performance monitor. Once users begin accessing the application in a typical manner, record the amount of memory again. Take the difference and divide this result by the number of users accessing the application. Multiply this per-user memory usage value by the maximum number of users who may be connected to the application to determine the amount of memory you must reserve for user connections. Be sure to add a little extra memory just in case.

Unlike NetWare, the size of a user’s PGA is not bound by any initialization parameters. Because of this, be careful that a user’s PGA does not consume too much system memory.

To increase the number of Oracle connections, you may also have to adjust the Oracle initialization parameter PROCESSES. The PROCESSES parameter should reflect the maximum number of user connections you expect to have plus the Oracle background processes. You should also include some extra processes for administrative tasks.

Network

Little network tuning is necessary with Windows NT. However, performance can be enhanced by prioritizing the network bindings. You can prioritize the network bindings with the Control Panel’s Network Configuration utility. By putting the network protocol you use most frequently first in the list, that protocol gets highest priority. Place other network protocols in the list in the order in which you use them.

Removing any protocols you do not use can also benefit performance by both reducing memory consumption and CPU overhead. Also be sure that the system is configured as a server in the network configuration screen.

I/O Subsystem

As is true for all operating systems, it is very important to ensure that performance is not bound by physical I/O rates. Be sure that random I/Os do not exceed the physical limitations of the disk drives. Refer to Chapters 14 and 15 for more details.

With Windows NT, Asynchronous I/O (AIO) is always enabled. There is no need to adjust any tuning parameters to ensure that AIO is enabled.

The default block size for Oracle on Windows NT is 2048. This may be sufficient. If you have a very large database or the data access is primarily sequential, you may want to increase DB_BLOCK_SIZE to 4096. Although the data blocks take up more space in the SGA, the number of I/Os done is significantly reduced. It doesn’t take very much more overhead and time to retrieve 4K of data from the disks than it does to get 2K of data.

If data access is primarily sequential, you may benefit by setting the DB_BLOCK_SIZE parameter to 8192. Because sequential access to the database will read the next block anyway, larger block sizes read that data into the SGA before you need it. If your data access is random, you end up wasting space in the SGA. The value you choose for the block size affects performance, either for the better or the worse. If you are unsure, leave the parameter at the default of 2048.

When creating Windows NT file systems, you have several choices.

  FAT
  HPFS
  NTFS

Although each of these performs well in certain situations, I recommend using NTFS. NTFS provides you with the best level of overall performance and is the file system that Microsoft endorses.

Windows NT Summary

There are several ways you can improve the performance of Oracle on your Windows NT system. The primary areas of concern are reducing OS overhead and making sure that the system is not paging. As with NetWare SMP and UNIX, you can get scaleable performance by adding additional CPUs.

The preceding sections have described various parameters you can adjust in the Windows NT operating system as well as in Oracle itself. The most important area of tuning in Windows NT is the amount of memory that can be dedicated to Oracle. You learned of several ways to maximize the memory available to Oracle by reducing some of NT’s overhead. You also learned how to maximize I/O usage by carefully choosing the correct block size.

Use these tuning guidelines in conjunction with other guidelines described in Chapters 9 and 10 to maximize the performance of the Oracle server. Tuning the server operating system in conjunction with the application and client results in the best-performing system possible.

OS/2

Like NetWare, OS/2 is an operating system that has been around for some time. OS/2 has just recently added support for SMP computers with the release of OS/2 for Symmetrical Multiprocessing version 2.11. This new version of OS/2 provides the additional performance necessary to become a viable server operating system.

Like Windows NT, OS/2 is primarily designed for the mass market as both a desktop and server operating system; it provides a graphical user interface and does not require very much user intervention for system tuning and configuration.

Architectural Overview

OS/2 is a layered architecture. At the center of the OS/2 is the core, or kernel, of the OS; the device drivers and OS subsystems are on the outer layers of the OS. OS/2 is a virtual memory operating system that uses an OS file for the paging file. The OS/2 operating system includes virtual DOS machines; like Windows NT, OS/2 can run most DOS and Windows programs. OS/2 does not have many tuning parameters, and those parameters that can be changed are typically in the CONFIG.SYS file.

Tuning Considerations

As is true for most operating systems, probably the most important tuning consideration is ensuring that there is sufficient physical memory available to run Oracle and the required number of server processes. OS/2 uses virtual memory, which means that Oracle and user processes can use an unlimited amount of memory through paging. If you are not careful, you may overconfigure the amount of virtual memory you are using and exceed the amount of physical memory in the system.

In addition to the concern about memory, other areas of importance in tuning the OS/2 system include the network and I/O subsystems and the reduction in OS overhead.

Memory

Like Windows NT and UNIX, OS/2 is a virtual memory system, which means that you can allocate memory and run programs that use more memory than physically exists on the system. Although this works and operates very well, doing so is undesirable in a RDBMS environment. Because the SGA and server processes are very efficient, any paging or swapping that occurs severely degrades performance. As with all virtual memory operating systems, you should avoid paging and swapping.


Previous Table of Contents Next


Products |  Contact Us |  About Us |  Privacy  |  Ad Info  |  Home

Use of this site is subject to certain Terms & Conditions, Copyright © 1996-2000 EarthWeb Inc.
All rights reserved. Reproduction whole or in part in any form or medium without express written permission of EarthWeb is prohibited.